Computer systems (e.g., personal computers, smart phones, electronic tablets) have communication ports that are used to couple to peripheral devices (e.g., printers, headphones, charging cables). In some applications, it is desirable to authenticate peripheral devices to ensure compatibility or to protect sensitive information. Authentication can be performed using a Digital Signal Algorithm (DSA), such as Elliptic Curve DSA (ECDSA).
A DSA may be implemented in a hardware authentication device. The hardware authentication device may be an integrated circuit chip that is embedded in a computer system. The authentication device may be configured to perform various high security applications, such as anti-counterfeiting, protection for firmware or media, session key exchange, secure data storage and user password checking A DSA often performs multiple asymmetric cryptographic operations using secure data (e.g., a private key).
Key authorization is a standard cryptographic requirement in many systems and can be used to prevent fraudulent use of a key if the device containing the key is stolen or otherwise available. For instance, if a key is used as identification for a person the authorizing value could be a password known only to the person. If the device with the ID is stolen, the thief cannot use the device to sign fraudulent messages since he does not know the password. Conventional authentication devices fail to retain key authentication status in a secure manner, resulting in reduced authentication speed in sessions where subsequent cryptographic operations using the same key are performed.